package com.lcz.mobilesafe.utils;

import com.yolanda.nohttp.Logger;
import com.yolanda.nohttp.error.NetworkError;
import com.yolanda.nohttp.error.NotFoundCacheError;
import com.yolanda.nohttp.error.TimeoutError;
import com.yolanda.nohttp.error.URLError;
import com.yolanda.nohttp.error.UnKnownHostError;
import com.yolanda.nohttp.rest.Response;

import java.net.ProtocolException;

/**
 * Created by hp on 2017/3/1.
 */

public class FailedExceptionUtils {
    public static <T> void exception(Response<T> response) {
        Exception exception = response.getException();
        if (exception instanceof NetworkError) {// 网络不好
            ToastUtils.show("请检查网络。");
        } else if (exception instanceof TimeoutError) {// 请求超时
            ToastUtils.show("请求超时，网络不好或者服务器不稳定。");
        } else if (exception instanceof UnKnownHostError) {// 找不到服务器
            ToastUtils.show("未发现指定服务器。");
        } else if (exception instanceof URLError) {// URL是错的
            ToastUtils.show("URL错误。");
        } else if (exception instanceof NotFoundCacheError) {
            // 这个异常只会在仅仅查找缓存时没有找到缓存时返回
            ToastUtils.show("没有发现缓存。");
        } else if (exception instanceof ProtocolException) {
            ToastUtils.show("系统不支持的请求方式。");
        } else {
            ToastUtils.show("未知错误。");
        }
        Logger.e("错误：" + exception.getMessage());
    }
}
